package com.jxl.application.controller.convert;

import com.jxl.application.controller.dto.SubjectInfoDto;
import com.jxl.application.controller.dto.SubjectLabelDto;
import com.jxl.common.entity.PageResult;
import com.jxl.domain.entity.SubjectInfoBO;
import com.jxl.domain.entity.SubjectLabelBO;
import com.jxl.infra.basic.entity.SubjectInfo;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

@Mapper
public interface SubjectInfoConvert {

    SubjectInfoConvert INSTANCE = Mappers.getMapper(SubjectInfoConvert.class);

    /**
     * 类型转换
     * @param subjectInfoDto
     * @return
     */
    SubjectInfoBO convertDtoToSubjectInfoBO(SubjectInfoDto subjectInfoDto);

    /**
     * 类型转换
     * @param subjectInfoBO
     * @return
     */
    SubjectInfoDto convertBOToSubjectInfoDto(SubjectInfoBO subjectInfoBO);

    PageResult<SubjectInfoDto> convertBOToSubjectInfoDto(PageResult<SubjectInfoBO> pageResult);

    List<SubjectInfoDto> convertBOToDTOList(List<SubjectInfoBO> boList);
}
